# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS.mozilla += [
    'Hal.h',
    'HalImpl.h',
    'HalSandbox.h',
    'HalScreenConfiguration.h',
    'HalSensor.h',
    'HalTypes.h',
    'HalWakeLock.h',
]

UNIFIED_SOURCES += [
    'HalWakeLock.cpp',
    'sandbox/SandboxHal.cpp',
    'WindowIdentifier.cpp',
]

# Hal.cpp cannot be built in unified mode because it relies on HalImpl.h.
SOURCES += [
    'Hal.cpp',
]

if CONFIG['OS_TARGET'] == 'Linux':
    UNIFIED_SOURCES += [
        'fallback/FallbackAlarm.cpp',
        'fallback/FallbackScreenConfiguration.cpp',
        'fallback/FallbackSensor.cpp',
        'linux/LinuxMemory.cpp',
        'linux/LinuxPower.cpp',
    ]
elif CONFIG['OS_TARGET'] == 'WINNT':
    UNIFIED_SOURCES += [
        'fallback/FallbackAlarm.cpp',
        'fallback/FallbackMemory.cpp',
        'fallback/FallbackPower.cpp',
        'fallback/FallbackScreenConfiguration.cpp',
        'windows/WindowsSensor.cpp',
    ]
elif CONFIG['OS_TARGET'] in ('OpenBSD', 'NetBSD', 'FreeBSD', 'DragonFly'):
    UNIFIED_SOURCES += [
        'fallback/FallbackAlarm.cpp',
        'fallback/FallbackMemory.cpp',
        'fallback/FallbackPower.cpp',
        'fallback/FallbackScreenConfiguration.cpp',
        'fallback/FallbackSensor.cpp',
    ]
else:
    UNIFIED_SOURCES += [
        'fallback/FallbackAlarm.cpp',
        'fallback/FallbackMemory.cpp',
        'fallback/FallbackPower.cpp',
        'fallback/FallbackScreenConfiguration.cpp',
        'fallback/FallbackSensor.cpp',
    ]

UNIFIED_SOURCES += [
    'fallback/FallbackFactoryReset.cpp',
    'fallback/FallbackProcessPriority.cpp',
    'fallback/FallbackScreenPower.cpp',
    'fallback/FallbackSwitch.cpp',
    'fallback/FallbackSystemService.cpp',
    'fallback/FallbackThreadPriority.cpp',
    'fallback/FallbackTime.cpp',
    'fallback/FallbackWakeLocks.cpp',
]

UNIFIED_SOURCES += [
    'fallback/FallbackNetwork.cpp',
]

IPDL_SOURCES = [
    'sandbox/PHal.ipdl',
]

include('/ipc/chromium/chromium-config.mozbuild')

FINAL_LIBRARY = 'xul'

if CONFIG['MOZ_GAMEPAD']:
    LOCAL_INCLUDES += [
        '/dom/base',
    ]

CFLAGS += CONFIG['GLIB_CFLAGS']
CFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
CXXFLAGS += CONFIG['GLIB_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
